#ifndef GAME_OBJECT_MANAGER_H
#define GAME_OBJECT_MANAGER_H

#include <memory>
#include <vector>
#include "../object/Entity.h"
#include "../object/Scene.h"
#include "../object/Item.h"
#include "../object/Character.h"
// GameObjectManager 类
// class GameObjectManager {
// public:
//     template<typename T, typename... Args>
//     std::shared_ptr<T> GetEntity(Args&&... args);

//     template<typename T>
//     void ReturnEntity(std::shared_ptr<T> entity);

// private:
//     struct PooledEntity {
//         std::shared_ptr<Entity> obj;
//         bool inUse;
//         PooledEntity(std::shared_ptr<Entity> o, bool use) : obj(o), inUse(use) {}
//     };

//     std::vector<PooledEntity> entities_;
// };

#endif // GAME_OBJECT_MANAGER_H
